Conversation
# Why This is a base for the following PRs that introduce the implementation of ccache for iOS and Android builds: #43274 #43285 It adds a new cache to `expo-caches`, which will be used there. # How Adds a new `Restore ccache` step to `expo-caches`. The key for this cache consists of: - `yarn.lock` - to follow changes in `node_modules` - `packages/**/*.cpp`, `packages/**/*.h`, `packages/**/*.mm`, `packages/**/*.m` - these files are cached by ccache A `restore-key` was added because the hash doesn't have to match exactly and the cache can be partially reused. # Test Plan Green CI, tested on a stacked PR.
# Why This PR introduces ccache for Android builds. It speeds up the most demanding task for Android builds, which is cpp compilation. # Results - **Hit rate: 87%** - that's the percentage of c++ files which didn't have to be compiled. - **Build time drop:** My tests showed a **4-minute** reduction in build time. This time varies based on runner performance, so the most precise numbers will be visible after some time in our performance metrics. # How - Downloads ccache. - Replaces the default compiler with ccache. - Adds custom configuration for ccache, which is described in the comments. # Test Plan Green CI, tested on a stacked PR.
# Why This PR introduces ccache for iOS builds. It speeds up the compilation of .cpp, .mm, and .m files. # Results - **Hit rate for subsequent clean builds: ~100% (2436 files)** the percentage of files that didn't have to be compiled. - **Drop in build time:** my tests showed around a **10-minute** reduction. This time varies based on runner performance, so more precise numbers will be available later in performance metrics. # How - Downloads ccache. - Forces Xcode to use ccache for compilation. - Adds custom configuration for ccache, described in the YAML file comments. # Test Plan Green CI, tested on a stacked PR.
# Why Changes to the following packages: - create-expo - create-expo-nightly - create-expo-module - @expo/cli shouldn't trigger the test suite # How Adds new negations to paths which trigger the workflow and to `common-paths` in `Detect build-relevant platform changes` # Test Plan Green CI
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )